import { Body, Controller, Delete, Get, Param, Post, Put, Query } from "@nestjs/common";
import {genRes, ResObjPropNameConst} from 'st-common-req'
import { UserService } from "./user.service";
import { User } from "./entities/User";

/**
 * 用户控制器
 */
@Controller("user")
export class UserController {
  constructor(private readonly userService: UserService) {}

  // @Get()
  // async getUsers() {
  //   return genRes({
  //     [ResObjPropNameConst.DATA]: await this.userService.findUsers()
  //   })
  // }
  //
  // /**
  //  * 创建用户
  //  */
  // @Post()
  // async create(@Body() user: Partial<User>) {
  //   try {
  //     const result = await this.userService.create(user);
  //     return genRes({
  //       [ResObjPropNameConst.MESSAGE]: "创建用户成功",
  //       [ResObjPropNameConst.DATA]: result
  //     });
  //   } catch (error) {
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: false,
  //       [ResObjPropNameConst.MESSAGE]: "创建用户失败"
  //     });
  //   }
  // }
  //
  // /**
  //  * 更新用户
  //  */
  // @Put(":id")
  // async update(@Param("id") id: number, @Body() user: Partial<User>) {
  //   try {
  //     const result = await this.userService.update(id, user);
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: result,
  //       [ResObjPropNameConst.MESSAGE]: result ? "更新用户成功" : "更新用户失败"
  //     });
  //   } catch (error) {
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: false,
  //       [ResObjPropNameConst.MESSAGE]: "更新用户失败"
  //     });
  //   }
  // }
  //
  // /**
  //  * 删除用户
  //  */
  // @Delete(":id")
  // async delete(@Param("id") id: number) {
  //   try {
  //     const result = await this.userService.delete(id);
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: result,
  //       [ResObjPropNameConst.MESSAGE]: result ? "删除用户成功" : "删除用户失败"
  //     });
  //   } catch (error) {
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: false,
  //       [ResObjPropNameConst.MESSAGE]: "删除用户失败"
  //     });
  //   }
  // }
  //
  // /**
  //  * 获取用户列表
  //  */
  // // @Get()
  // async findList(
  //   @Query("page") page: number = 1,
  //   @Query("pageSize") pageSize: number = 10,
  //   @Query("username") username?: string,
  //   @Query("nickname") nickname?: string,
  //   @Query("email") email?: string,
  //   @Query("account") account?: string,
  //   @Query("disabled") disabled?: boolean,
  //   @Query("startTime") startTime?: Date,
  //   @Query("endTime") endTime?: Date,
  //   @Query("orderBy") orderBy?: string,
  //   @Query("order") order?: "ASC" | "DESC"
  // ) {
  //   try {
  //     const [list, total] = await this.userService.findList({
  //       page,
  //       pageSize,
  //       username,
  //       nickname,
  //       email,
  //       account,
  //       disabled,
  //       startTime,
  //       endTime,
  //       orderBy,
  //       order
  //     });
  //
  //     return genRes({
  //       [ResObjPropNameConst.MESSAGE]: "获取用户列表成功",
  //       [ResObjPropNameConst.DATA]: {
  //         list,
  //         pagination: {
  //           total,
  //           page,
  //           pageSize
  //         }
  //       }
  //     });
  //   } catch (error) {
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: false,
  //       [ResObjPropNameConst.MESSAGE]: "获取用户列表失败"
  //     });
  //   }
  // }
  //
  // /**
  //  * 获取用户详情
  //  */
  // @Get(":id")
  // async findById(@Param("id") id: number) {
  //   try {
  //     const user = await this.userService.findById(id);
  //     return genRes({
  //       [ResObjPropNameConst.MESSAGE]: "获取用户详情成功",
  //       [ResObjPropNameConst.DATA]: user
  //     });
  //   } catch (error) {
  //     return genRes({
  //       [ResObjPropNameConst.STATUS]: false,
  //       [ResObjPropNameConst.MESSAGE]: "获取用户详情失败"
  //     });
  //   }
  // }
}
